# -*- coding: utf-8 -*-
# @Time : 2024/4/30 10:44
# @Author : Zxg
# @Email : 1473858993@qq.com
# @File : conftest.py
# @Project : Luckin_Finance_Center_UI

import logging
import traceback
import pytest
from common.webdriver import driver
from utils.mysql_util import mysql_method
from page.loginpage.loginscriptpage import LoginScript


# 进行全局的驱动处理，结合单例化模式，减少资源占用
@pytest.fixture(scope='session', autouse=True)
def driver_fixture():
    # 最大化窗口，方便定位以及观察数据
    driver.maximize_window()
    # 打开财务中台页面
    driver.get(
        'https://authtest03.lkcoffee.com/web/login/wechat?response_type=code&client_id=34e80d87ce50972073ab&redirect_uri=https://fiwebtest03.lkcoffee.com/login&scope=profile,email,phone&state=/')
    try:
        login = LoginScript(driver)
        login.login()
    except Exception as e:
        logging.exception('登录失败', str(e))
        logging.exception(traceback.format_exc())
    # 生成日志
    logging.info('启动Chrome浏览器')
    mysql_method()
    logging.info('启动Mysql数据库')
    yield
    # 退出服务
    driver.quit()
    logging.info('关闭webdriver驱动')
    # 关闭数据库链接
    mysql_method().close_conn()
    logging.info('切断数据库服务')